home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1995 October
/
EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso
/
Aminet
/
dev
/
gui
/
gengui2.lha
/
GenGui2
/
Examples
/
test.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-02-16
|
3KB
|
96 lines
#include <stdlib.h>
#include <proto/intuition.h>
#include <intuition/intuition.h>
#include <proto/exec.h>
#include <proto/graphics.h>
#include <graphics/text.h>
#include <stdio.h>
#ifndef GUINAME
#include "test.h"
#else
#include GUINAME
#endif
struct IntuitionBase *IntuitionBase;
struct GfxBase *GfxBase;
struct Library *GadToolsBase;
struct Library *UtilityBase;
struct Window *win;
struct TextFont *font=NULL;
void quit(char *e)
{
if(e) fprintf(stderr,"%s\n",e);
if(font) CloseFont(font); /* Important !!! */
if(win) CloseWindow(win);
if(UtilityBase) CloseLibrary(UtilityBase);
if(GadToolsBase) CloseLibrary(GadToolsBase);
if(GfxBase) CloseLibrary((struct Library *)GfxBase);
if(IntuitionBase) CloseLibrary((struct Library *)IntuitionBase);
if(e) exit(EXIT_FAILURE);
exit(EXIT_SUCCESS);
}
main()
{
struct IntuiMessage *msg;
int run=1;
if(!(IntuitionBase=(struct IntuitionBase *)OpenLibrary("intuition.library",36)))
quit("No intuition.library V36");
if(!(GfxBase=(struct GfxBase *)OpenLibrary("graphics.library",36)))
quit("No graphics.library V36");
if(!(GadToolsBase=OpenLibrary("gadtools.library",36)))
quit("No gadtools.library V36");
if(!(UtilityBase=OpenLibrary("utility.library",36)))
quit("No utility.library V36");
if(!(win=OpenWindowTags(NULL,
WA_Left,160,WA_Top,20,
WA_Width,320,WA_Height,200,
WA_Title,TITLE,
WA_IDCMP,BUTTONIDCMP|IDCMP_CLOSEWINDOW|SLIDERIDCMP|
IDCMP_NEWSIZE|IDCMP_REFRESHWINDOW|IDCMP_SIZEVERIFY,
WA_Flags,WFLG_SIZEGADGET|WFLG_DRAGBAR|WFLG_DEPTHGADGET
|WFLG_SIMPLE_REFRESH
|WFLG_CLOSEGADGET|WFLG_ACTIVATE,
WA_MinWidth,0,WA_MinHeight,0,
WA_MaxWidth,-1,WA_MaxHeight,-1,
TAG_DONE ))) quit("Cannot open window");
if(GG_SmartRenderGui(win,&TestPro,&font)) quit("Cannot render GUI");
while(run) {
WaitPort(win->UserPort);
while(msg=GG_GetIMsg(win->UserPort)) {
switch(msg->Class) {
case IDCMP_CLOSEWINDOW: run--;
break;
case IDCMP_NEWSIZE: GG_ResizeGui(&TestPro);
break;
case IDCMP_SIZEVERIFY: GG_BeginResizeGui(&TestPro);
break;
case IDCMP_REFRESHWINDOW:
GG_RefreshGui(&TestPro);
break;
case IDCMP_GADGETUP:
break;
}
GG_ReplyIMsg(msg);
}
}
GG_FreeGui(&TestPro);
quit(NULL);
}